﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SimTank
{
    public partial class DeathKnight
    {
        public Attack HeartStrike
        {
            get
            {
                double damage = random.Next(damage_min, damage_max);
                if (level == 85)
                {
                    damage += 819;
                }
                else
                {
                    damage += 736;
                }
                return new Attack("Heart Strike", (int)damage, SchoolEnum.Physical);
            }
        }

        public Attack DeathStrike
        {
            get
            {
                double damage = random.Next(damage_min, damage_max) * 1.5 * 1.45;
                if (level == 85)
                {
                    damage += 331 * 1.5 * 1.45;
                }
                else
                {
                    damage += 297 * 1.5 * 1.45;
                }
                return new Attack("Death Strike", (int)damage, SchoolEnum.Physical);
            }
        }

        public Attack RuneStrike
        {
            get
            {
                double damage = random.Next(damage_min, damage_max) * 2;
                damage += 2 * attackpower * 10 / 100;
                Attack ret = new Attack("Rune Strike", (int)damage, SchoolEnum.Physical);
                ret.threatmod = 1.75;
                ret.isAvoidable = false;
                return ret;
            }
        }

        public Attack IcyTouch
        {
            get
            {
                double damage;
                if (level == 85)
                    damage = 454 + 491 / 2;
                else
                    damage = 505 + 547 / 2;
                damage += attackpower * .02;
                Attack ret = new Attack("Icy Touch", (int)damage, SchoolEnum.Frost);
                ret.useSpellHit = true;
                ret.isAvoidable = false;
                ret.CausesDebuffs.Add(new Debuff(59921, SchoolEnum.Frost, (int)(attackpower * 0.055 * 1.15), 300, 2100, DispelType.Disease, 1));
                return ret;
            }
        }

        public Attack PlagueStrike
        {
            get
            {
                double damage = random.Next(damage_min, damage_max);
                if (level == 85)
                    damage += 420;
                else
                    damage += 378;
                Attack ret = new Attack("Plague Strike", (int)damage, SchoolEnum.Physical);
                ret.CausesDebuffs.Add(new Debuff(59879, SchoolEnum.Shadow, (int)(attackpower * 0.055 * 1.15), 300, 2100, DispelType.Disease, 1));
                return ret;
            }
        }

        public Attack BloodBoil
        {
            get
            {
                double damage;
                if (level == 85)
                    damage = 297 * 1.33;
                else
                    damage = 200 * 1.33;
                damage += attackpower * 0.08;
                Attack ret = new Attack("Blood Boil", (int)damage, SchoolEnum.Shadow);
                ret.useSpellHit = true;
                BloodBoil.CausesDebuffs.Add(new Debuff(81130, SchoolEnum.Physical, 0, 3000, 3000, DispelType.None, 0));
                return ret;
            }
        }

    }
}
